1. Field of the Invention
Methods, apparatus, and systems consistent with the present invention relate to providing a web service and requesting a web service. More particularly, the present invention relates to a technique for providing and requesting a web service that allows use of an inheritable web service by including access modifiers and inheritance relationships for domains, functions, services and so forth in a web services description language (WSDL) having detailed information for a web service and by causing the web service providing apparatus and the web service requesting apparatus to refer to the access modifiers and inheritance relationships.
2. Description of the Related Art
Web services provide interoperability among Internet applications using extensible markup language (XML), simple object access protocol (SOAP), and WSDL.
XML is a text-based markup language specification from the World Wide Web Consortium (W3C). Unlike hypertext markup language (HTML), XML uses tags for describing both presentation and data. XML is useful for describing portable structured data, and XML is widely used for describing data as a data format, such as messaging protocols and interchange formats.
SOAP, which is an XML-based lightweight protocol for exchanging information in a distributed environment, defines a messaging protocol between a service requester and a service provider. In addition, SOAP provides a standard way for calling a remote service via XML-based messages, regardless of the platform, operating system, or programming language of the service to be called.
WSDL describes a service interface such as connection information for a service to be provided by a web service provider using XML, that is, the format of messages to be exchanged when binding and operation information.
WSDL thus serves to describe the web service. In order to describe the XML web service, it is necessary to define the messages to be generated and received. WSDL uses an XML schema to define these messages.
WSDL documents describe interfaces for calling a service to be provided by a service provider. WSDL documents include a message indicative of parameters required for calling the service, a type, a port type corresponding to the service to be called, bindings having binding operation information, a port for calling the service, and the service.
A universal description, discovery, and integration (UDDI) registry, which is a web service relay system, assists in registration and search of the web services.
A basic model of a web service broadly includes a service requester, a service provider, and a service registry. The service provider registers the WSDL documents, including the information of the web services to be provided, in the service registry using the UDDI system.
The service requester searches a list of web services registered in the service registry using the UDDI system, selects a desired web service, and receives WSDL information for the service provider.
Then, the service requester calls the service of the service provider based on the WSDL information. At this time, the service provider and the service requester exchange the information using the SOAP protocol.
FIG. 1 is a diagram showing a web service system according to the related art. Referring to FIG. 1, the web service system includes a service requester 10 and a service provider 20.
The service requester 10 includes a web service processing unit 14 that processes various web services and an application program 12 that performs the overall control for the apparatus.
The service provider 20 includes a web service output unit 22 that provides various web services and at least one service 24 that is provided to the service requester 10.
The web service processing unit 14 and the web service output unit 22 are web service specifications that process messages between the service requester 10 and the service provider 20. In FIG. 1, a web service specification about address, security, and events of various web service specifications is applied to the web service processing unit 14 and the web service output unit 22, and then the messages are processed.
That is, the service requester 10 that receives the WSDL information of the service provider 20 calls the service 24 of the service provider 20 on the basis of the WSDL information. At this time, the messages of the service call and service response are processed according to the web service specification of the web service processing unit 14 and the web service output unit 22.
In general, the web service provides the service requester 10 with the service 24 of the service provider 20 according to the WSDL defined by the service provider 20, not by the web service.
The service 24 of the service provider 20 is created by object-oriented programming. Inheritance between the services 24 is possible, but inheritance of the web service itself is not supported. For example, the service 24 provided by the service provider 20 can be reused by a service distributor (not shown) that relays the service 24 and can be provided to the service requester 10 through the concept of inheritance. However, inheritance of the web service for the entire service cannot be provided and the service cannot be reused by such a method.
Access to the service 24 itself can be provided by various methods, but direct access from the outside is impossible when the service 24 is provided through the web service. In general, the web service can provide various security features in order to prevent the service from being used in an unauthorized manner from the outside. However, the web service user cannot know which web services restrict access and which features in the web service are restricted.
Korean Patent Application No. 2002-016711 discloses a method of compulsorily controlling access to an object that inherits execution files relative to a web service by copying security authorization classes and category information according to multi-class security.
However, this method simply applies access limitations and inheritance for the execution files relative to the web service. Therefore, a method that can apply various kinds of access limitations and inheritance for a web service itself is increasingly demanded.